﻿using Prism.Mvvm;
using System;
using System.Collections.ObjectModel;

namespace Wpf.Models
{
    public class SysUser : BindableBase, ICloneable
    {
        private string id;
        public string ID
        {
            get { return id; }
            set
            {
                id = value;
                RaisePropertyChanged("ID");
            }
        }
        private string username;
        public string USERNAME
        {
            get { return username; }
            set
            {
                username = value;
                RaisePropertyChanged("USERNAME");
            }
        }
        private string password;
        public string PASSWORD
        {
            get { return password; }
            set
            {
                password = value;
                RaisePropertyChanged("PASSWORD");
            }
        }
        private string displayname;
        public string DISPLAYNAME
        {
            get { return displayname; }
            set
            {
                displayname = value;
                RaisePropertyChanged("DISPLAYNAME");
            }
        }
        private string employeenumber;
        public string EMPLOYEENUMBER
        {
            get { return employeenumber; }
            set
            {
                employeenumber = value;
                RaisePropertyChanged("EMPLOYEENUMBER");
            }
        }
        private string usertype;
        public string USERTYPE
        {
            get { return usertype; }
            set
            {
                usertype = value;
                RaisePropertyChanged("USERTYPE");
            }
        }
        private string disable;
        public string DISABLE
        {
            get { return disable; }
            set
            {
                disable = value;
                RaisePropertyChanged("DISABLE");
            }
        }
        private string owner;
        public string OWNER
        {
            get { return owner; }
            set
            {
                owner = value;
                RaisePropertyChanged("OWNER");
            }
        }
        private string deptcode;
        public string DEPTCODE
        {
            get { return deptcode; }
            set
            {
                deptcode = value;
                RaisePropertyChanged("DEPTCODE");
            }
        }
        private string addtional1;
        public string ADDTIONAL1
        {
            get { return addtional1; }
            set
            {
                addtional1 = value;
                RaisePropertyChanged("ADDTIONAL1");
            }
        }
        private string addtional2;
        public string ADDTIONAL2
        {
            get { return addtional2; }
            set
            {
                addtional2 = value;
                RaisePropertyChanged("ADDTIONAL2");
            }
        }
        private string addtional3;
        public string ADDTIONAL3
        {
            get { return addtional3; }
            set
            {
                addtional3 = value;
                RaisePropertyChanged("ADDTIONAL3");
            }
        }
        private string titlecode;
        public string TITLECODE
        {
            get { return titlecode; }
            set
            {
                titlecode = value;
                RaisePropertyChanged("TITLECODE");
            }
        }
        private string pycode;
        public string PYCODE
        {
            get { return pycode; }
            set
            {
                pycode = value;
                RaisePropertyChanged("PYCODE");
            }
        }
        private string userlevel;
        public string USERLEVEL
        {
            get { return userlevel; }
            set
            {
                userlevel = value;
                RaisePropertyChanged("USERLEVEL");
            }
        }
        private string department;
        public string DEPARTMENT
        {
            get { return department; }
            set
            {
                department = value;
                RaisePropertyChanged("DEPARTMENT");
            }
        }
        private string favcolor;
        public string FAVCOLOR
        {
            get { return favcolor; }
            set
            {
                favcolor = value;
                RaisePropertyChanged("FAVCOLOR");
            }
        }
        private string userguid;
        public string USERGUID
        {
            get { return userguid; }
            set
            {
                userguid = value;
                RaisePropertyChanged("USERGUID");
            }
        }
        /// <summary>
        /// 当前登录人所属医院code
        /// </summary>
        private string hospitalCompoundCode;
        public string HOSPITALCOMPOUNDCODE
        {
            get { return hospitalCompoundCode; }
            set
            {
                hospitalCompoundCode = value;
                RaisePropertyChanged("HOSPITALCOMPOUNDCODE");
            }
        }
        /// <summary>
        /// 当前登录人，登录页面选的院区编码
        /// </summary>
        private string _SelectHospitalCode;
        public string SelectHospitalCode
        {
            get
            {
                return _SelectHospitalCode;
            }
            private set
            {
                _SelectHospitalCode = value;
                RaisePropertyChanged("SelectHospitalCode");
            }
        }
        private string deptname;
        public string DEPTNAME
        {
            get { return deptname; }
            set
            {
                deptname = value;
                RaisePropertyChanged("DEPTNAME");
            }
        }
        private string _USERTYPENAME;
        public string USERTYPENAME
        {
            get { return _USERTYPENAME; }
            set
            {
                _USERTYPENAME = value;
                RaisePropertyChanged("USERTYPENAME");
            }
        }

        private string _SITTINGDEPTCODE;
        public string SITTINGDEPTCODE
        {
            get { return _SITTINGDEPTCODE; }
            set
            {
                _SITTINGDEPTCODE = value;
                RaisePropertyChanged("SITTINGDEPTCODE");
            }
        }
        private string _SITDEPTNAME;
        public string SITDEPTNAME
        {
            get { return _SITDEPTNAME; }
            set
            {
                _SITDEPTNAME = value;
                RaisePropertyChanged("SITDEPTNAME");
            }
        }
        //权限列表 
        //private ObservableCollection<SysPermission> permisionList;
        //public ObservableCollection<SysPermission> PERMISSIONLIST
        //{
        //    get => permisionList; set
        //    {
        //        permisionList = value;
        //        RaisePropertyChanged("PERMISSIONLIST");

        //    }
        //}

        private string userName_PinYinAll;
        public string USERNAME_PinYinAll
        {
            get { return userName_PinYinAll; }
            set
            {
                userName_PinYinAll = value;
                RaisePropertyChanged("USERNAME_PinYinAll");
            }
        }

        private string userName_PinYinSimple;
        public string USERNAME_PinYinSimple
        {
            get { return userName_PinYinSimple; }
            set
            {
                userName_PinYinSimple = value;
                RaisePropertyChanged("USERNAME_PinYinSimple");
            }
        }


        private string _NURSEAREACODE;
        public string NURSEAREACODE
        {
            get { return _NURSEAREACODE; }
            set
            {
                _NURSEAREACODE = value;
                RaisePropertyChanged("NURSEAREACODE");
            }
        }


        private string _NURSEAREANAME;
        public string NURSEAREANAME
        {
            get { return _NURSEAREANAME; }
            set
            {
                _NURSEAREANAME = value;
                RaisePropertyChanged("NURSEAREANAME	");
            }
        }

        
        /// <summary>
        /// 上一次登录日志ID
        /// </summary>
        private string _lastTimeLogId;
        public string LastTimeLogId
        {
            get { return _lastTimeLogId; }
            set
            {
                _lastTimeLogId = value;
                RaisePropertyChanged("LastTimeLogId");
            }
        }
        public object Clone()
        {
            return MemberwiseClone();
        }

        public void SetSelectHospitalCode(string code)
        {
            this.SelectHospitalCode = code;
        }
        

        private int _ACCOUNTTYPE;
        /// <summary>
        /// 账号类型
        /// </summary>
        public int ACCOUNTTYPE
        {
            get { return _ACCOUNTTYPE; }
            set
            {
                _ACCOUNTTYPE = value;
                RaisePropertyChanged("ACCOUNTTYPE");
            }
        }
        private string _TEACHERID;
        /// <summary>
        /// 老师Id
        /// </summary>
        public string TEACHERID
        {
            get { return _TEACHERID; }
            set
            {
                _TEACHERID = value;
                RaisePropertyChanged("TEACHERID");
            }
        }
        private string _TEACHERNAME;
        /// <summary>
        /// 老师姓名
        /// </summary>
        public string TEACHERNAME
        {
            get { return _TEACHERNAME; }
            set
            {
                _TEACHERNAME = value;
                RaisePropertyChanged("TEACHERNAME");
            }
        }
        private string _STUDENTIDS;
        /// <summary>
        /// 代教学生Id
        /// </summary>
        public string STUDENTIDS
        {
            get { return _STUDENTIDS; }
            set
            {
                _STUDENTIDS = value;
                RaisePropertyChanged("STUDENTIDS");
            }
        }
        private bool isChecked { get; set; }
        /// <summary>
        /// 是否选中
        /// </summary>
        public bool IsChecked
        {
            get { return isChecked; }
            set
            {
                isChecked = value;
                RaisePropertyChanged("IsChecked");
            }
        }
        /// <summary>
        /// Ca登陆标志  2022-11-21
        /// </summary>
        private bool _isCALog = false;

        /// <summary>
        ///Ca登陆标志  2022-11-21
        /// </summary>
        public bool IsCALog
        {
            get { return _isCALog; }
            set
            {
                _isCALog = value;
                RaisePropertyChanged(nameof(IsCALog));
            }
        }
        /// <summary>
        /// 扫码Ca登陆标志  2022-11-21
        /// </summary>
        private bool _isQCALog = false;

        /// <summary>
        ///扫码Ca登陆标志  2022-11-21
        /// </summary>
        public bool IsQCALog
        {
            get { return _isQCALog; }
            set
            {
                _isQCALog = value;
                RaisePropertyChanged(nameof(IsQCALog));
            }
        }

         

        /// <summary>
        /// 治疗组ID
        /// </summary>
        private string _TREATTEAMID;

        /// <summary>
        /// 治疗组ID
        /// </summary>
        public string TREATTEAMID
        {
            get { return _TREATTEAMID; }
            set
            {
                _TREATTEAMID = value;
                RaisePropertyChanged("TREATTEAMID");
            }
        }

    }
    
}
